function call(fn, obj, ...args) {
  if (obj === undefined || obj === null) {
    obj = globalThis;
  }

  obj.temp = fn;

  const reuslt = obj.temp(...args);

  delete obj.temp;

  return reuslt;
}
